Revert "plat/arm: Migrate AArch64 port to the multi console driver"
authorAntonio Nino Diaz <[email protected]>
Tue, 15 May 2018 12:12:50 +0000 (13:12 +0100)
committerAntonio Nino Diaz <[email protected]>
Tue, 15 May 2018 12:17:55 +0000 (13:17 +0100)
This reverts commit 2f18aa1fa35305f8feec25867473d30975b242fe.

It is causing some tests to fail. Until the cause is found and fixed, it
is needed to remove this commit from master.

Change-Id: Ic5ff7a841903a15613e00379e87cbbd8a0e85152
Signed-off-by: Antonio Nino Diaz <[email protected]>
13 files changed:
include/drivers/console.h
include/plat/arm/board/common/board_arm_def.h
include/plat/arm/common/plat_arm.h
plat/arm/common/aarch64/arm_helpers.S
plat/arm/common/arm_bl1_setup.c
plat/arm/common/arm_bl2_el3_setup.c
plat/arm/common/arm_bl2_setup.c
plat/arm/common/arm_bl2u_setup.c
plat/arm/common/arm_bl31_setup.c
plat/arm/common/arm_common.mk
plat/arm/common/arm_console.c [deleted file]
plat/arm/common/arm_pm.c
plat/arm/common/tsp/arm_tsp_setup.c

index 422492a7dac4661cda1e920cec6b961c37a02cd2..0855170eb928708c1f0b3e0eee00d553e5d894d3 100644 (file)
@@ -16,9 +16,9 @@
 #define CONSOLE_T_FLUSH                        (U(4) * REGSZ)
 #define CONSOLE_T_DRVDATA              (U(5) * REGSZ)
 
-#define CONSOLE_FLAG_BOOT              (U(1) << 0)
-#define CONSOLE_FLAG_RUNTIME           (U(1) << 1)
-#define CONSOLE_FLAG_CRASH             (U(1) << 2)
+#define CONSOLE_FLAG_BOOT              BIT(0)
+#define CONSOLE_FLAG_RUNTIME           BIT(1)
+#define CONSOLE_FLAG_CRASH             BIT(2)
 /* Bits 3 to 7 reserved for additional scopes in future expansion. */
 #define CONSOLE_FLAG_SCOPE_MASK                ((U(1) << 8) - 1)
 /* Bits 8 to 31 reserved for non-scope use in future expansion. */
index cfd292246f03344e8ab4a0e442dfeba5eb0dff67..845f14037409299f6ba39f3cc82cdca973fe823e 100644 (file)
  * PLAT_ARM_MAX_BL31_SIZE is calculated using the current BL31 debug size plus a
  * little space for growth.
  */
-#if ENABLE_SPM
-# define PLAT_ARM_MAX_BL31_SIZE                0x21000
-#else
-# define PLAT_ARM_MAX_BL31_SIZE                0x20000
-#endif
+#define PLAT_ARM_MAX_BL31_SIZE         0x20000
 
 #ifdef AARCH32
 /*
index 95b2a5a3ef30306a5f38a905a2195c61dd62d965..612a63a8c6112a30ddd0db1a74c48bffdd997e61 100644 (file)
@@ -153,12 +153,6 @@ struct tzc_dmc500_driver_data;
 void arm_tzc_dmc500_setup(struct tzc_dmc500_driver_data *plat_driver_data,
                        const arm_tzc_regions_info_t *tzc_regions);
 
-/* Console utility functions */
-void arm_console_boot_init(void);
-void arm_console_boot_end(void);
-void arm_console_runtime_init(void);
-void arm_console_runtime_end(void);
-
 /* Systimer utility function */
 void arm_configure_sys_timer(void);
 
index 752929db528fe91810229369bc1dfa9508ce9db6..760a53af2b287acbe70bba52e1447f5f893bc436 100644 (file)
@@ -8,9 +8,9 @@
 
        .weak   plat_arm_calc_core_pos
        .weak   plat_my_core_pos
-       .weak   plat_crash_console_init
-       .weak   plat_crash_console_putc
-       .weak   plat_crash_console_flush
+       .globl  plat_crash_console_init
+       .globl  plat_crash_console_putc
+       .globl  plat_crash_console_flush
        .globl  platform_mem_init
 
 
@@ -50,7 +50,7 @@ func plat_crash_console_init
        mov_imm x0, PLAT_ARM_CRASH_UART_BASE
        mov_imm x1, PLAT_ARM_CRASH_UART_CLK_IN_HZ
        mov_imm x2, ARM_CONSOLE_BAUDRATE
-       b       console_pl011_core_init
+       b       console_core_init
 endfunc plat_crash_console_init
 
        /* ---------------------------------------------
@@ -62,7 +62,7 @@ endfunc plat_crash_console_init
         */
 func plat_crash_console_putc
        mov_imm x1, PLAT_ARM_CRASH_UART_BASE
-       b       console_pl011_core_putc
+       b       console_core_putc
 endfunc plat_crash_console_putc
 
        /* ---------------------------------------------
@@ -75,7 +75,7 @@ endfunc plat_crash_console_putc
         */
 func plat_crash_console_flush
        mov_imm x0, PLAT_ARM_CRASH_UART_BASE
-       b       console_pl011_core_flush
+       b       console_core_flush
 endfunc plat_crash_console_flush
 
        /* ---------------------------------------------------------------------
index e5e73041753c811ef3a41274aab3cd0736724c02..379e87df2928cf73fe3d10690b3ff90bcaa2c0bc 100644 (file)
@@ -9,6 +9,7 @@
 #include <arm_xlat_tables.h>
 #include <bl1.h>
 #include <bl_common.h>
+#include <console.h>
 #include <plat_arm.h>
 #include <platform.h>
 #include <platform_def.h>
@@ -44,7 +45,8 @@ void arm_bl1_early_platform_setup(void)
 #endif
 
        /* Initialize the console to provide early debug support */
-       arm_console_boot_init();
+       console_init(PLAT_ARM_BOOT_UART_BASE, PLAT_ARM_BOOT_UART_CLK_IN_HZ,
+                       ARM_CONSOLE_BAUDRATE);
 
        /* Allow BL1 to see the whole Trusted RAM */
        bl1_tzram_layout.total_base = ARM_BL_RAM_BASE;
index e7247c63dacc6a57f9a735662b851883c6307b33..e70d115ee9907ceba05722d7cdaca3b0a98da029 100644 (file)
@@ -1,8 +1,9 @@
 /*
- * Copyright (c) 2017-2018, ARM Limited and Contributors. All rights reserved.
+ * Copyright (c) 2017, ARM Limited and Contributors. All rights reserved.
  *
  * SPDX-License-Identifier: BSD-3-Clause
  */
+#include <console.h>
 #include <generic_delay_timer.h>
 #include <plat_arm.h>
 #include <platform.h>
@@ -20,7 +21,8 @@ static meminfo_t bl2_el3_tzram_layout;
 void arm_bl2_el3_early_platform_setup(void)
 {
        /* Initialize the console to provide early debug support */
-       arm_console_boot_init();
+       console_init(PLAT_ARM_BOOT_UART_BASE, PLAT_ARM_BOOT_UART_CLK_IN_HZ,
+                       ARM_CONSOLE_BAUDRATE);
 
        /*
         * Allow BL2 to see the whole Trusted RAM. This is determined
index 753da65a4f544e640818edc692ab99b56a56ec87..dc7cd680228c4d24ee214fa6d02f8980ebb8bc54 100644 (file)
@@ -8,6 +8,7 @@
 #include <arm_def.h>
 #include <assert.h>
 #include <bl_common.h>
+#include <console.h>
 #include <debug.h>
 #include <desc_image_load.h>
 #include <generic_delay_timer.h>
@@ -183,7 +184,8 @@ struct entry_point_info *bl2_plat_get_bl31_ep_info(void)
 void arm_bl2_early_platform_setup(uintptr_t tb_fw_config, meminfo_t *mem_layout)
 {
        /* Initialize the console to provide early debug support */
-       arm_console_boot_init();
+       console_init(PLAT_ARM_BOOT_UART_BASE, PLAT_ARM_BOOT_UART_CLK_IN_HZ,
+                       ARM_CONSOLE_BAUDRATE);
 
        /* Setup the BL2 memory layout */
        bl2_tzram_layout = *mem_layout;
index cd691e5c358e3bbaa0d600d78986fcde32585315..3b8e4aa464a162884c1d66bc19c17b5fbed374c9 100644 (file)
@@ -7,6 +7,7 @@
 #include <arch_helpers.h>
 #include <arm_def.h>
 #include <bl_common.h>
+#include <console.h>
 #include <generic_delay_timer.h>
 #include <plat_arm.h>
 #include <platform_def.h>
@@ -35,8 +36,8 @@ void bl2u_platform_setup(void)
 void arm_bl2u_early_platform_setup(meminfo_t *mem_layout, void *plat_info)
 {
        /* Initialize the console to provide early debug support */
-       arm_console_boot_init();
-
+       console_init(PLAT_ARM_BOOT_UART_BASE, PLAT_ARM_BOOT_UART_CLK_IN_HZ,
+                       ARM_CONSOLE_BAUDRATE);
        generic_delay_timer_init();
 }
 
index 4a72714578f9aa1c8cf545e08013eb3a599d1f4b..3c70f9de85607d35aefc82e96b722cb1275a140f 100644 (file)
@@ -72,7 +72,8 @@ void arm_bl31_early_platform_setup(bl31_params_t *from_bl2, uintptr_t soc_fw_con
 #endif
 {
        /* Initialize the console to provide early debug support */
-       arm_console_boot_init();
+       console_init(PLAT_ARM_BOOT_UART_BASE, PLAT_ARM_BOOT_UART_CLK_IN_HZ,
+                       ARM_CONSOLE_BAUDRATE);
 
 #if RESET_TO_BL31
        /* There are no parameters from BL2 if BL31 is a reset vector */
@@ -225,18 +226,12 @@ void arm_bl31_platform_setup(void)
 /*******************************************************************************
  * Perform any BL31 platform runtime setup prior to BL31 exit common to ARM
  * standard platforms
- * Perform BL31 platform setup
  ******************************************************************************/
 void arm_bl31_plat_runtime_setup(void)
 {
-#if MULTI_CONSOLE_API
-       console_switch_state(CONSOLE_FLAG_RUNTIME);
-#else
-       console_uninit();
-#endif
-
        /* Initialize the runtime console */
-       arm_console_runtime_init();
+       console_init(PLAT_ARM_BL31_RUN_UART_BASE, PLAT_ARM_BL31_RUN_UART_CLK_IN_HZ,
+                       ARM_CONSOLE_BAUDRATE);
 }
 
 void bl31_platform_setup(void)
index b1aa4280523c1dfb680777a5cd13d1c06622cb4a..015e454a125c3ef8f40258666df0e9f847109654 100644 (file)
@@ -104,11 +104,6 @@ SEPARATE_CODE_AND_RODATA   :=      1
 # Enable new version of image loading on ARM platforms
 LOAD_IMAGE_V2                  :=      1
 
-# Use the multi console API, which is only available for AArch64 for now
-ifeq (${ARCH}, aarch64)
-  MULTI_CONSOLE_API            :=      1
-endif
-
 # Use generic OID definition (tbbr_oid.h)
 USE_TBBR_DEFS                  :=      1
 
@@ -125,8 +120,7 @@ PLAT_INCLUDES               +=      -Iinclude/plat/arm/common/aarch64
 endif
 
 PLAT_BL_COMMON_SOURCES +=      plat/arm/common/${ARCH}/arm_helpers.S           \
-                               plat/arm/common/arm_common.c                    \
-                               plat/arm/common/arm_console.c
+                               plat/arm/common/arm_common.c
 
 ifeq (${ARM_XLAT_TABLES_LIB_V1}, 1)
 PLAT_BL_COMMON_SOURCES +=      lib/xlat_tables/xlat_tables_common.c            \
diff --git a/plat/arm/common/arm_console.c b/plat/arm/common/arm_console.c
deleted file mode 100644 (file)
index 20b8f87..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Copyright (c) 2018, ARM Limited and Contributors. All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-#include <assert.h>
-#include <console.h>
-#include <debug.h>
-#include <pl011.h>
-#include <plat_arm.h>
-#include <platform_def.h>
-
-/*******************************************************************************
- * Functions that set up the console
- ******************************************************************************/
-#if MULTI_CONSOLE_API
-static console_pl011_t arm_boot_console;
-static console_pl011_t arm_runtime_console;
-#endif
-
-/* Initialize the console to provide early debug support */
-void arm_console_boot_init(void)
-{
-#if MULTI_CONSOLE_API
-       int rc = console_pl011_register(PLAT_ARM_BOOT_UART_BASE,
-                                       PLAT_ARM_BOOT_UART_CLK_IN_HZ,
-                                       ARM_CONSOLE_BAUDRATE,
-                                       &arm_boot_console);
-       if (rc == 0) {
-               /*
-                * The crash console doesn't use the multi console API, it uses
-                * the core console functions directly. It is safe to call panic
-                * and let it print debug information.
-                */
-               panic();
-       }
-
-       console_set_scope(&arm_boot_console.console, CONSOLE_FLAG_BOOT);
-#else
-       (void)console_init(PLAT_ARM_BOOT_UART_BASE,
-                          PLAT_ARM_BOOT_UART_CLK_IN_HZ,
-                          ARM_CONSOLE_BAUDRATE);
-#endif /* MULTI_CONSOLE_API */
-}
-
-void arm_console_boot_end(void)
-{
-#if MULTI_CONSOLE_API
-       (void)console_flush();
-
-       (void)console_unregister(&arm_boot_console.console);
-#else
-       console_uninit();
-#endif /* MULTI_CONSOLE_API */
-}
-
-/* Initialize the runtime console */
-void arm_console_runtime_init(void)
-{
-#if MULTI_CONSOLE_API
-       int rc = console_pl011_register(PLAT_ARM_BL31_RUN_UART_BASE,
-                                       PLAT_ARM_BL31_RUN_UART_CLK_IN_HZ,
-                                       ARM_CONSOLE_BAUDRATE,
-                                       &arm_runtime_console);
-       if (rc == 0)
-               panic();
-
-       console_set_scope(&arm_runtime_console.console, CONSOLE_FLAG_RUNTIME);
-#else
-       (void)console_init(PLAT_ARM_BL31_RUN_UART_BASE,
-                          PLAT_ARM_BL31_RUN_UART_CLK_IN_HZ,
-                          ARM_CONSOLE_BAUDRATE);
-#endif /* MULTI_CONSOLE_API */
-}
-
-void arm_console_runtime_end(void)
-{
-#if MULTI_CONSOLE_API
-       (void)console_flush();
-
-       (void)console_unregister(&arm_runtime_console.console);
-#else
-       console_uninit();
-#endif /* MULTI_CONSOLE_API */
-}
index 4632099e7f49611bff6dea3fbdedc72866678770..44ac5b5d667396ba10c6e9cdde0f5e2f6cc934cc 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015-2018, ARM Limited and Contributors. All rights reserved.
+ * Copyright (c) 2015-2017, ARM Limited and Contributors. All rights reserved.
  *
  * SPDX-License-Identifier: BSD-3-Clause
  */
@@ -8,6 +8,7 @@
 #include <arm_def.h>
 #include <arm_gic.h>
 #include <assert.h>
+#include <console.h>
 #include <errno.h>
 #include <plat_arm.h>
 #include <platform.h>
@@ -158,12 +159,6 @@ void arm_system_pwr_domain_save(void)
 
        plat_arm_gic_save();
 
-       /*
-        * Unregister console now so that it is not registered for a second
-        * time during resume.
-        */
-       arm_console_runtime_end();
-
        /*
         * All the other peripheral which are configured by ARM TF are
         * re-initialized on resume from system suspend. Hence we
@@ -179,8 +174,8 @@ void arm_system_pwr_domain_save(void)
  *****************************************************************************/
 void arm_system_pwr_domain_resume(void)
 {
-       /* Initialize the console */
-       arm_console_runtime_init();
+       console_init(PLAT_ARM_BL31_RUN_UART_BASE, PLAT_ARM_BL31_RUN_UART_CLK_IN_HZ,
+                                               ARM_CONSOLE_BAUDRATE);
 
        /* Assert system power domain is available on the platform */
        assert(PLAT_MAX_PWR_LVL >= ARM_PWR_LVL2);
index 16125ad4fa35bab16863171cf4aad086972b9a78..abeaea0bcd0c98f9c453026f526750fa6ae0b8a6 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2015-2018, ARM Limited and Contributors. All rights reserved.
+ * Copyright (c) 2015-2016, ARM Limited and Contributors. All rights reserved.
  *
  * SPDX-License-Identifier: BSD-3-Clause
  */
@@ -7,8 +7,6 @@
 #include <arm_def.h>
 #include <bl_common.h>
 #include <console.h>
-#include <debug.h>
-#include <pl011.h>
 #include <plat_arm.h>
 #include <platform_def.h>
 #include <platform_tsp.h>
 /*******************************************************************************
  * Initialize the UART
  ******************************************************************************/
-#if MULTI_CONSOLE_API
-static console_pl011_t arm_tsp_runtime_console;
-#endif
-
 void arm_tsp_early_platform_setup(void)
 {
-#if MULTI_CONSOLE_API
        /*
         * Initialize a different console than already in use to display
         * messages from TSP
         */
-       int rc = console_pl011_register(PLAT_ARM_TSP_UART_BASE,
-                                       PLAT_ARM_TSP_UART_CLK_IN_HZ,
-                                       ARM_CONSOLE_BAUDRATE,
-                                       &arm_tsp_runtime_console);
-       if (rc == 0)
-               panic();
-
-       console_set_scope(&arm_tsp_runtime_console.console,
-                         CONSOLE_FLAG_BOOT | CONSOLE_FLAG_RUNTIME);
-#else
        console_init(PLAT_ARM_TSP_UART_BASE, PLAT_ARM_TSP_UART_CLK_IN_HZ,
                        ARM_CONSOLE_BAUDRATE);
-#endif /* MULTI_CONSOLE_API */
 }
 
 void tsp_early_platform_setup(void)